際際滷

際際滷Share a Scribd company logo
09 GUIsHUREE University ICTInstructor: M.J LEE
ContentsAbstract Window ToolkitContainerFramePanelLayout ManagerFlow LayoutBorder LayoutGrid Layout2
AWT(Abstract Window Toolkit)AWT: the group of classes for GUI in Java3Java.awt.*
Component / ContainerFrame4import java.awt.*; public class MyFrameextends Frame { 	public MyFrame (String str) { 	super(str); } public class MyFrameMain {	public static void main (String args[]) { MyFramefr = new MyFrame(Its frame!"); fr.setSize(500,500); fr.setBackground(Color.blue); fr.setVisible(true); 	} }12is a relation MyFrame is Frame3Create containerSet the size of frame45Set the background Color:Color is Class
PanelUse add() method, when adding componentsPanel cant be displayed by itself. Therefore, it should be included in FrameSome components are disposed in Panel by Layout Manager5
6import java.awt.*; public class FrameWithPanelextends Frame { 	public FrameWithPanel (String str) { 		super(str); 	} }Public class FrameWithPanelMain() {	public static void main (String args[]) {FrameWithPanelfr = new FrameWithPanel(Panel in Frame");		Panel pan = new Panel(); fr.setSize(200,200); 		// a framefr.setBackground(Color.blue); fr.setLayout(null); pan.setSize(100,100); 		// a panelpan.setBackground(Color.yellow); fr.add(pan);   // put the panel in the framefr.setVisible(true); } }Panel
Layout ManagerFlowLayout	Panel, default Layout manager of AppletBorderLayout	Window, default Layout manager of FrameGridLayoutCardLayoutGridBagLayout7
8import java.awt.*; public class ExGui { 	private Frame f; 		// declarationFrame	private Button b1; 	// declaration Button	private Button b2;	public void go() { 		f = new Frame("GUI example"); f.setLayout(new FlowLayout()); 	b1 = new Button(Yes); 	b2 = new Button(No"); f.add(b1); 		// append Button on Framef.add(b2); f.pack(); 		// instead of .setSize()f.setVisible(true); 	} }public static ExGuiMain() {	public static void main(String args[]) { ExGuiguiWindow = new ExGui(); guiWindow.go(); 	}}1. Flow Layout
Layout Manager 1.Flow LayoutAt above example, which didn't inherit Frame, declared new frame in the classProperties, Flow Layout Manageris a default layout manager of Paneldepose components from left to right!depose components at the middle of Frame, as defaultdecide the size of components by itselfIt is possible to exchange attributes by using constructor9setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
Layout Manager 1.Flow LayoutComponents are disposed at right side.Gap of left and right between componentsGap of top and bottom between components (unit: pixel)10setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))123
11import java.awt.*; public class MyFlow { 	private Frame f; 	private Button button1, button2, button3; 	public void go() { 		f = new Frame("Flow Layout");f.setLayout(new FlowLayout()); 		button1 = new Button("Ok"); 			button2 = new Button("Open"); 			button3 = new Button("Close"); 					f.add(button1); f.add(button2); f.add(button3); f.setSize(100,100); f.setVisible(true);	} }Public class MyFlowMain() {	public static void main(String args[]) { MyFlowmflow = new MyFlow(); mflow.go(); 	} } 1. Flow Layout
12import java.awt.*;public class ExGui2 { 	private Frame f; 	private Button bn, bs, bw, be, bc; 	public void go() { 		f = new Frame("Border Layout"); bn = new Button("B1");bs = new Button("B2");bw = new Button("B3");be = new Button("B4");bc = new Button("B5");f.add(bn, BorderLayout.NORTH); f.add(bs, BorderLayout.SOUTH); f.add(bw, BorderLayout.WEST);f.add(be, BorderLayout.EAST);f.add(bc, BorderLayout.CENTER); f.setSize(200,200);f.setVisible(true);	} 	public static void main(String args[]) { 		ExGui2 guiWindow2 = new ExGui2(); 		guiWindow2.go(); 	}}2. Border Layout
132. Grid Layoutimport java.awt.*; public class TestGrid { 	private Frame f;	private Button b1, b2, b3, b4, b5, b6;	public void go() { 	f = new Frame(Grid Layout");f.setLayout (new GridLayout(3,2));b1 = new Button("1");b2 = new Button("2");b3 = new Button("3");b4 = new Button("4"); b5 = new Button("5");b6 = new Button("6"); f.add(b1); f.add(b2);f.add(b3);f.add(b4);f.add(b5);f.add(b6);f.pack();f.setVisible(true); 	} 	public static void main(String args[]) { TestGrid grid = new TestGrid(); grid.go(); 	}}
Layout Manager 3.Grid LayoutAdd(): components are disposed from left to right, upside to bottomThe size of each cell, which is divided by Grid Layout Manager, is same.The number of cells can be defined when they are created with Constructor.f.setLayout (new GridLayout(3,2));14

More Related Content

09 gui

  • 1. 09 GUIsHUREE University ICTInstructor: M.J LEE
  • 2. ContentsAbstract Window ToolkitContainerFramePanelLayout ManagerFlow LayoutBorder LayoutGrid Layout2
  • 3. AWT(Abstract Window Toolkit)AWT: the group of classes for GUI in Java3Java.awt.*
  • 4. Component / ContainerFrame4import java.awt.*; public class MyFrameextends Frame { public MyFrame (String str) { super(str); } public class MyFrameMain { public static void main (String args[]) { MyFramefr = new MyFrame(Its frame!"); fr.setSize(500,500); fr.setBackground(Color.blue); fr.setVisible(true); } }12is a relation MyFrame is Frame3Create containerSet the size of frame45Set the background Color:Color is Class
  • 5. PanelUse add() method, when adding componentsPanel cant be displayed by itself. Therefore, it should be included in FrameSome components are disposed in Panel by Layout Manager5
  • 6. 6import java.awt.*; public class FrameWithPanelextends Frame { public FrameWithPanel (String str) { super(str); } }Public class FrameWithPanelMain() { public static void main (String args[]) {FrameWithPanelfr = new FrameWithPanel(Panel in Frame"); Panel pan = new Panel(); fr.setSize(200,200); // a framefr.setBackground(Color.blue); fr.setLayout(null); pan.setSize(100,100); // a panelpan.setBackground(Color.yellow); fr.add(pan); // put the panel in the framefr.setVisible(true); } }Panel
  • 7. Layout ManagerFlowLayout Panel, default Layout manager of AppletBorderLayout Window, default Layout manager of FrameGridLayoutCardLayoutGridBagLayout7
  • 8. 8import java.awt.*; public class ExGui { private Frame f; // declarationFrame private Button b1; // declaration Button private Button b2; public void go() { f = new Frame("GUI example"); f.setLayout(new FlowLayout()); b1 = new Button(Yes); b2 = new Button(No"); f.add(b1); // append Button on Framef.add(b2); f.pack(); // instead of .setSize()f.setVisible(true); } }public static ExGuiMain() { public static void main(String args[]) { ExGuiguiWindow = new ExGui(); guiWindow.go(); }}1. Flow Layout
  • 9. Layout Manager 1.Flow LayoutAt above example, which didn't inherit Frame, declared new frame in the classProperties, Flow Layout Manageris a default layout manager of Paneldepose components from left to right!depose components at the middle of Frame, as defaultdecide the size of components by itselfIt is possible to exchange attributes by using constructor9setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
  • 10. Layout Manager 1.Flow LayoutComponents are disposed at right side.Gap of left and right between componentsGap of top and bottom between components (unit: pixel)10setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))123
  • 11. 11import java.awt.*; public class MyFlow { private Frame f; private Button button1, button2, button3; public void go() { f = new Frame("Flow Layout");f.setLayout(new FlowLayout()); button1 = new Button("Ok"); button2 = new Button("Open"); button3 = new Button("Close"); f.add(button1); f.add(button2); f.add(button3); f.setSize(100,100); f.setVisible(true); } }Public class MyFlowMain() { public static void main(String args[]) { MyFlowmflow = new MyFlow(); mflow.go(); } } 1. Flow Layout
  • 12. 12import java.awt.*;public class ExGui2 { private Frame f; private Button bn, bs, bw, be, bc; public void go() { f = new Frame("Border Layout"); bn = new Button("B1");bs = new Button("B2");bw = new Button("B3");be = new Button("B4");bc = new Button("B5");f.add(bn, BorderLayout.NORTH); f.add(bs, BorderLayout.SOUTH); f.add(bw, BorderLayout.WEST);f.add(be, BorderLayout.EAST);f.add(bc, BorderLayout.CENTER); f.setSize(200,200);f.setVisible(true); } public static void main(String args[]) { ExGui2 guiWindow2 = new ExGui2(); guiWindow2.go(); }}2. Border Layout
  • 13. 132. Grid Layoutimport java.awt.*; public class TestGrid { private Frame f; private Button b1, b2, b3, b4, b5, b6; public void go() { f = new Frame(Grid Layout");f.setLayout (new GridLayout(3,2));b1 = new Button("1");b2 = new Button("2");b3 = new Button("3");b4 = new Button("4"); b5 = new Button("5");b6 = new Button("6"); f.add(b1); f.add(b2);f.add(b3);f.add(b4);f.add(b5);f.add(b6);f.pack();f.setVisible(true); } public static void main(String args[]) { TestGrid grid = new TestGrid(); grid.go(); }}
  • 14. Layout Manager 3.Grid LayoutAdd(): components are disposed from left to right, upside to bottomThe size of each cell, which is divided by Grid Layout Manager, is same.The number of cells can be defined when they are created with Constructor.f.setLayout (new GridLayout(3,2));14